Graph Based Reduction of Program Verification Conditions
نویسندگان
چکیده
In the verification of C programs by deductive approaches based on automated provers, some heuristics of separation analysis are proposed to handle the most difficult problems. Unfortunately, these heuristics are not sufficient when applied on industrial C programs: some valid verification conditions cannot be automatically discharged by any automated prover mainly due to their size and a high number of irrelevant hypotheses. This work presents a strategy to reduce program verification conditions by selecting their relevant hypotheses. The relevance of a hypothesis is the combination of separated static dependency analyzes based on graph constructions and traversals. The approach is applied on a benchmark issued from industrial program verification. Key-words: Program verification, proof, hypothesis selection ∗ This work is partially funded by the French Ministry of Research, thanks to the CAT (C Analysis Toolbox) RNTL (Reseau National des Technologies Logicielles), and by the SYSTEM@TIC Paris Region French cluster, thanks to the PFC project (Plateforme de Confiance, trusted platforms). † LIFC, University of Franche-Comté, 16 route de Gray, Besançon, F-25030 ‡ INRIA Nancy Grand Est, CASSIS project § INRIA Saclay, Île-de-France, ProVal, Parc Orsay Université, F-91893 ¶ LRI, Univ Paris-Sud, CNRS, Orsay, F-91405 in ria -0 03 39 84 7, v er si on 1 19 N ov 2 00 8 Réduction de conditions de vérification de programmes par graphes Résumé : Diverses heuristiques de séparation d’hypothèses facilitent l’approche déductive de la vérification de programmes C, dans la perspective d’utiliser un prouveur automatique. Malheureusement, ces heuristiques ne suffisent pas pour vérifier des programmes C issus de l’industrie : certaines conditions de vérification valides ne sont établies par aucun prouveur automatique, en raison de leur trop grande taille et d’un trop grand nombre d’hypothèses non pertinentes. Ce travail présente une stratégie pour réduire les conditions de vérification de programmes par la sélection d’hypothèses pertinentes. La pertinence d’une hypothèse résulte de la combinaison de deux analyses statiques de dépendance, basées sur la construction et le parcours de graphes. Cette approche est appliquée à une étude de cas issue du monde industriel. Mots-clés : Vérification de programme, preuve, sélection d’hypothèses in ria -0 03 39 84 7, v er si on 1 19 N ov 2 00 8 Reduction of Verification Conditions 3
منابع مشابه
On the validation and verification of production systems: a graph reduction approach
This paper takes a parallel processing approach to the implementation of rule-based systems using a graph-reduction architecture , and investigates the consequences of this architecture in relation to the validation and verification of knowledge-based systems . The paper improves on the traditional sequential approaches to the development of knowledge-based systems and the limited validation an...
متن کاملA Graph-based Strategy for the Selection of Hypotheses
In previous works on verifying C programs by deductive approaches based on SMT provers, we proposed the heuristic of separation analysis to handle the most difficult problems. Nevertheless, this heuristic is not sufficient when applied on industrial C programs: it remains some Verification Conditions (VCs) that cannot be decided by any SMT prover, mainly due to their size. This work presents a ...
متن کاملA model for specification, composition and verification of access control policies and its application to web services
Despite significant advances in the access control domain, requirements of new computational environments like web services still raise new challenges. Lack of appropriate method for specification of access control policies (ACPs), composition, verification and analysis of them have all made the access control in the composition of web services a complicated problem. In this paper, a new indepe...
متن کاملDeductive Verification for Improving Slicing of Integrated Formal Specifications
The combination of the two well known formal specification techniques CSP [Hoa85] for behavioural aspects of systems and Object-Z (OZ) [Smi00] for data aspects of systems into the specification language CSPOZ [Fis97] has already been subject of intense research. An important challenge, especially when trying to automatically or semi-automatically analyse such specifications, is their inherent c...
متن کاملA Shape System and Loop Invariant Inference
Pointer programs remain a major challenge for program analysis and verification. Shape analysis can discover the shape invariants of data structures in the heap and detect errors about manipulating pointers in a program. This paper presents a shape analysis for linked list programs based on a new shape graph representation. Our shape graphs could describe unbounded data structures without loss ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/0907.1357 شماره
صفحات -
تاریخ انتشار 2008